import type { FieldRule } from 'vant'
const mobileRules = [
  { required: true, message: '请输入手机号' },
  // 1开头 3-9（第二位）后面有9位数
  { pattern: /^1[3-9]\d{9}$/, message: '手机号码的格式不正确' }
]

const passwordRules = [
  { required: true, message: '请输入密码' },
  { pattern: /^\w{8,24}$/, message: '密码需要8-24个字符' }
]

const codeRules = [
  { required: true, message: '请输入验证码' },
  { pattern: /^\d{6}$/, message: '验证码6个数字' }
]

const nameRules: FieldRule[] = [
  { required: true, message: '请输入名字' },
  // ^$
  // (?:)
  // []
  // [\u4e00-\u9fa5] 匹配简体中文
  // ·是什么意思
  // {2, 16}范围
  { pattern: /^(?:[\u4e00-\u9fa5·]{2,16})$/, message: '中文2-16字符' }
]

const idCardRules: FieldRule[] = [
  { required: true, message: '请输入身份证号码' },
  // 1-9的数字 有5个
  // 18 19 20的数字有2个
  // (?:0[1-9]|10|11|12) 01-09然后是10 11 12
  {
    pattern:
      /^[1-9]\d{5}(?:18|19|20\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\d|30|31)\d{3}[\dXx])$/,
    message: '身份证号码不正确'
  }
]

export { mobileRules, passwordRules, codeRules, nameRules, idCardRules }
